<!DOCTYPE html>
<html lang="zh-cn">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		 
			
  
    <meta name="twitter:card" content="summary"/>
    
      <meta name="twitter:image" content="https://www.samrainhan.com/images/avatar.png" />
    
  
  
  <meta name="twitter:title" content="常用加解密算法"/>
  <meta name="twitter:description" content="1.常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密。 对称加密算法 DES（Data Encryption Standard） 数据加密标准，速度较快，适"/>
  
  
  
  
    <meta name="twitter:creator" content="@韩雨"/>
  



		
		<meta name="author" content="韩雨">
		<meta name="description" content="学习 &amp;nbsp;&amp;bull;&amp;nbsp; 生活">
		<meta name="generator" content="Hugo 0.52" />
		<title>常用加解密算法 &middot; sam的小窝</title>
		<link rel="shortcut icon" href="https://www.samrainhan.com/images/favicon.ico">
		<link rel="stylesheet" href="https://www.samrainhan.com/css/style.css">
		<link rel="stylesheet" href="https://www.samrainhan.com/css/highlight.css">

		
		<link rel="stylesheet" href="https://www.samrainhan.com/css/font-awesome.min.css">
		

		
		<link href="https://www.samrainhan.com/index.xml" rel="alternate" type="application/rss+xml" title="sam的小窝" />
		

		
	</head>

    <body>
       <nav class="main-nav">
	
	
		<a href='https://www.samrainhan.com/'> <span class="arrow">←</span>Home</a>
	
	<a href='https://www.samrainhan.com/posts'>Archive</a>
	<a href='https://www.samrainhan.com/tags'>Tags</a>
	<a href='https://www.samrainhan.com/about'>About</a>

	

	
	<a class="cta" href="https://www.samrainhan.com/index.xml">Subscribe</a>
	
</nav>


        <section id="wrapper" class="post">
            <article>
                <header>
                    <h1>
                        常用加解密算法
                    </h1>
                    <h2 class="headline">
                    May 13, 2015 00:00
                    · 1231 words
                    · 3 minute read
                      <span class="tags">
                      
                      
                          
                              <a href="https://www.samrainhan.com/tags/%E5%8A%A0%E5%AF%86">加密</a>
                          
                              <a href="https://www.samrainhan.com/tags/%E8%A7%A3%E5%AF%86">解密</a>
                          
                      
                      
                      </span>
                    </h2>
                </header>
                
                  
                    <div id="toc">
                      <nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#1-常用密钥算法">1.常用密钥算法</a>
<ul>
<li><a href="#对称加密算法">对称加密算法</a>
<ul>
<li><a href="#des-data-encryption-standard">DES（Data Encryption Standard）</a></li>
<li><a href="#3des-triple-des">3DES（Triple DES）</a></li>
<li><a href="#rc2和-rc4">RC2和 RC4</a></li>
<li><a href="#idea-international-data-encryption-algorithm">IDEA（International Data Encryption Algorithm）</a></li>
<li><a href="#blowfish">BLOWFISH</a></li>
<li><a href="#aes-advanced-encryption-standard">AES（Advanced Encryption Standard）</a></li>
</ul></li>
<li><a href="#不对称加密算法">不对称加密算法</a>
<ul>
<li><a href="#rsa">RSA</a></li>
<li><a href="#dsa-digital-signature-algorithm">DSA（Digital Signature Algorithm）</a></li>
</ul></li>
<li><a href="#其它算法">其它算法</a>
<ul>
<li><a href="#elgamal">ElGamal</a></li>
</ul></li>
</ul></li>
<li><a href="#2-单向散列算法">2.单向散列算法</a>
<ul>
<li><a href="#md5-message-digest-algorithm-5">MD5（Message Digest Algorithm 5）</a></li>
<li><a href="#sha-secure-hash-algorithm">SHA（Secure Hash Algorithm）</a></li>
<li><a href="#mac-message-authentication-code">MAC（Message Authentication Code）</a></li>
<li><a href="#crc-cyclic-redundancy-check">CRC（Cyclic Redundancy Check）</a></li>
</ul></li>
<li><a href="#3-其它数据算法">3.其它数据算法</a></li>
</ul></li>
</ul>
</nav>
                    </div>
                  
                
                <section id="post-body">
                    

<h2 id="1-常用密钥算法">1.常用密钥算法</h2>

<p>密钥算法用来对敏感数据、摘要、签名等信息进行加密。</p>

<h3 id="对称加密算法">对称加密算法</h3>

<h4 id="des-data-encryption-standard">DES（Data Encryption Standard）</h4>

<p>数据加密标准，速度较快，适用于加密大量数据的场合</p>

<h4 id="3des-triple-des">3DES（Triple DES）</h4>

<p>是基于DES，对一块数据用三个不同的密钥进行三次加密，强度更高</p>

<h4 id="rc2和-rc4">RC2和 RC4</h4>

<p>用变长密钥对大量数据进行加密，比 DES 快</p>

<h4 id="idea-international-data-encryption-algorithm">IDEA（International Data Encryption Algorithm）</h4>

<p>国际数据加密算法，使用 128 位密钥提供非常强的安全性</p>

<h4 id="blowfish">BLOWFISH</h4>

<p>用来加密64Bit长度的字符串，它使用变长的密钥，长度可达448位，运行速度很快。</p>

<h4 id="aes-advanced-encryption-standard">AES（Advanced Encryption Standard）</h4>

<p>高级加密标准，是下一代的加密算法标准，速度快，安全级别高，目前 AES 标准的一个实现是 Rijndael 算法</p>

<h3 id="不对称加密算法">不对称加密算法</h3>

<h4 id="rsa">RSA</h4>

<p>由 RSA 公司发明，是一个支持变长密钥的公共密钥算法，需要加密的文件快的长度也是可变的</p>

<h4 id="dsa-digital-signature-algorithm">DSA（Digital Signature Algorithm）</h4>

<p>数字签名算法，是一种标准的 DSS（数字签名标准），经ElGamal算法演变而来。</p>

<h3 id="其它算法">其它算法</h3>

<h4 id="elgamal">ElGamal</h4>

<p>用于数据加密也能用于数字签名
####Deffie-Hellman密钥交换(简称DH)
它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
####新型椭圆曲线算法ECC
基于椭圆曲线数学的一种公钥密码的方法。主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射，基于Weil对或是Tate对；双线性映射已经在密码学中发现了大量的应用，例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。</p>

<h2 id="2-单向散列算法">2.单向散列算法</h2>

<p>单向散列函数一般用于产生消息摘要，密钥加密等。</p>

<h3 id="md5-message-digest-algorithm-5">MD5（Message Digest Algorithm 5）</h3>

<p>是RSA数据安全公司开发的一种单向散列算法，MD5被广泛使用，可以用来把不同长度的数据块进行暗码运算成一个128位的数值</p>

<h3 id="sha-secure-hash-algorithm">SHA（Secure Hash Algorithm）</h3>

<p>这是一种较新的散列算法，可以对任意长度的数据运算生成一个160位的数值</p>

<h3 id="mac-message-authentication-code">MAC（Message Authentication Code）</h3>

<p>消息认证代码，是一种使用密钥的单向函数，可以用它们在系统上或用户之间认证文件或消息。HMAC（用于消息认证的密钥散列法）就是这种函数的一个例子。HMAC可以有效防止一些类似md5的彩虹表等攻击，比如一些常见的密码直接MD5存入数据库的，可能被反向破解。</p>

<h3 id="crc-cyclic-redundancy-check">CRC（Cyclic Redundancy Check）</h3>

<p>循环冗余校验码，CRC校验由于实现简单，检错能力强，被广泛使用在各种数据校验应用中。占用系统资源少，用软硬件均能实现，是进行数据传输差错检测地一种很好的手段（CRC 并不是严格意义上的散列算法，但它的作用与散列算法大致相同，所以归于此类）。</p>

<h2 id="3-其它数据算法">3.其它数据算法</h2>

<p>包括一些常用编码算法及其与明文（ASCII、Unicode 等）转换等，如 Base 64、Quoted Printable、EBCDIC 等。</p>

                </section>
            </article>

            
                <a class="twitter" href="https://twitter.com/intent/tweet?text=https%3a%2f%2fwww.samrainhan.com%2fposts%2f2015-05-13-commonly-used-encryption-algorithm%2f - %e5%b8%b8%e7%94%a8%e5%8a%a0%e8%a7%a3%e5%af%86%e7%ae%97%e6%b3%95 "><span class="icon-twitter"> tweet</span></a>

<a class="facebook" href="#" onclick="
    window.open(
      'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),
      'facebook-share-dialog',
      'width=626,height=436');
    return false;"><span class="icon-facebook-rect"> Share</span>
</a>

            

            
                <div id="disqus_thread"></div>
<script type="text/javascript">
    var disqus_shortname = 'samrainblogbygithub'; 

     
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>

            

            
                <ul id="post-list" class="archive readmore">
    <h3>Read more</h3>

    
    
    
        <li>
            <a href="/posts/2019-04-26-c9-move-to-aws-c9/">Cloud9 Move to Aws C9<aside class="dates">Apr 26 2019</aside></a>
        </li>
    
        <li>
            <a href="/posts/2019-02-16-why-build-blog-with-cloud9/">2019 02 16 Why Build Blog With Cloud9<aside class="dates">Feb 16 2019</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-sports-stretching-best-practices/">运动拉伸最佳实践<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-add-2-files-to-tempdb-for-caching/">给tempdb加2个文件做缓存<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-look-for-sql-server-tables-without-a-clustered-index/">如何找到没有聚集索引的表<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-the-continuous-delivery-maturity-model/">持续实施成熟度模型<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-map-of-continuous-delivery/">持续发布的各个阶段<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-how-dropbox-securely-stores-your-passwords/">Dropbox的用户密码加密机制<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-code-inspection-tool-for-net/">NET代码检查工具<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
        <li>
            <a href="/posts/2018-09-12-how-to-make-unique-id/">怎样生成唯一ID<aside class="dates">Sep 12 2018</aside></a>
        </li>
    
</ul>

            

            <footer id="footer">
    
        <div id="social">

	
	
    <a class="symbol" href="">
        <i class="fa fa-facebook-square"></i>
    </a>
    
    <a class="symbol" href="https://github.com/samrain">
        <i class="fa fa-github-square"></i>
    </a>
    
    <a class="symbol" href="">
        <i class="fa fa-twitter-square"></i>
    </a>
    


</div>

    
    <p class="small">
    
       © Copyright 2019 <i class="fa fa-heart" aria-hidden="true"></i> 韩雨
    
    </p>
    <p class="small">
        Powered by <a href="http://www.gohugo.io/">Hugo</a> Theme By <a href="https://github.com/nodejh/hugo-theme-cactus-plus">nodejh</a>
    </p>
</footer>

        </section>

        <script src="https://www.samrainhan.com/js/jquery-3.3.1.min.js"></script>
<script src="https://www.samrainhan.com/js/main.js"></script>
<script src="https://www.samrainhan.com/js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>




  
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
	ga('create', 'UA-37708730-1', 'auto');
	
	ga('send', 'pageview');
}
</script>





    </body>
</html>
